/*
 * header 跨域配置
 */
use axum::http::Method;
use tower_http::cors::{CorsLayer, Any};
use http::header::{ HeaderName, ACCEPT, AUTHORIZATION, CACHE_CONTROL, CONTENT_TYPE };

pub fn index() -> CorsLayer{
    CorsLayer::new()
    .allow_methods([Method::GET, Method::POST, Method::PUT, Method::DELETE, Method::OPTIONS])   // 允许的请求方法
    .allow_origin(Any)                      // Access-Control-Allow-Origin：解决资源的跨域权限问题
    // .allow_origin([
    //     "http://localhost:9088".parse::<http::header::HeaderValue>().unwrap(),
    //     "http://localhost:52905".parse::<http::header::HeaderValue>().unwrap()
    // ])
    // .allow_headers(Any)                     // Access-Control-Allow-Headers：允许从 header 传递的字段。post 请求必须配置 CONTENT_TYPE
    .allow_headers([
        AUTHORIZATION,
        ACCEPT,
        CONTENT_TYPE,
        CACHE_CONTROL,
        HeaderName::from_static("x-requested-with")         // 允许 antd 上传字段
    ])
    .allow_credentials(false)                // Access-Control-Allow-Credentials：是否允许客户端请求携带Credentials(凭证)
}